package com.info.zhiduoduo.core.service;

public interface InvoiceInventoryService {

	/**
	 * 记录 项目或 项目开票的发票入库
	 *
	 * @param id 出入库记录id
	 */
	void recordInventoryIn(int id);

	/**
	 * 记录 项目或 项目开票的发票出库
	 *
	 * @param tenThousand
	 * @param hundredThousand
	 * @param userid          创客id,  创客或 创客
	 * @param invoiceType     发票类型 {@link com.info.zhiduoduo.common.constants.invoice.InvoiceType}
	 * @param adminid         操作人员id
	 * @param invoiceId       发票id
	 * @param projectType            发票项目类型
	 */
	void recordInventoryOut(int tenThousand, int hundredThousand, int userid, int invoiceType, int adminid, int invoiceId, int projectType);

	/**
	 * 创客开税户,初始化自动增加一条发票入库记录（1万元，30张，普票，待入库状态）
	 *
	 * @param userid
	 * @param adminid
	 */
	void oepnTaxAcctFirstInventoryIn(Integer userid, int adminid);

	/**
	 * 企业主体发票入库
	 *
	 * @param id 出入库记录id
	 */
	void recordCompanyInventoryIn(int id);

	/**
	 * 进行 企业的出库 记录
	 *
	 * @param tenThousand     万元版 数量
	 * @param hundredThousand 十万元版 数量
	 * @param companyId       主体企业
	 * @param invoiceType     发票类型 (1:普票 2:专票)
	 * @param adminid         操作员
	 * @param invoiceId       发票id  表示为那个发票所消耗的
	 */
	void recordCompanyInventoryOut(int tenThousand, int hundredThousand, int companyId, int invoiceType, int adminid, int invoiceId);

}
